package com.koron.operation.startlog.bean.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.koron.bean.query.PageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

@Data
public class StartLogDto extends PageQuery implements Serializable {
    /**
     * 主键
     */
    @ApiModelProperty(value = "主键")
    private String id;

    /**
     * 设备管理单位ID
     */
    @ApiModelProperty(value = "设备管理单位ID")
    private String deptManage;

    /**
     * 设备管理单位名称
     */
    @ApiModelProperty(value = "设备管理单位名称")
    private String deptManageName;

    /**
     * 设备ID
     */
    @ApiModelProperty(value = "设备ID")
    private String equipmentId;

    /**
     * 设备名称
     */
    @ApiModelProperty(value = "设备名称")
    private String equipmentName;

    /**
     * 操作人
     */
    @ApiModelProperty(value = "操作人")
    private String operateUser;

    /**
     * 操作人名称
     */
    @ApiModelProperty(value = "操作人名称")
    private String operateUserMan;

    /**
     * 操作时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd hh:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")
    @ApiModelProperty(value = "操作时间 非条件")
    private Date operateTime;

    /**
     * 操作时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd hh:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")
    @ApiModelProperty(value = "开始时间")
    private Date minOperateTime;

    /**
     * 操作时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd hh:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")
    @ApiModelProperty(value = "结束时间")
    private Date maxOperateTime;


    /**
     * 数据字典(dispatch_operate_type):START_UP开机、SHUT_DOWN停机、START_FAIL不成功
     * BREAKDOWN故障停机、ACCIDENT事故跳机
     */
    @ApiModelProperty(value = "操作类型 数据字典(dispatch_operate_type):START_UP开机、SHUT_DOWN停机、START_FAIL不成功,BREAKDOWN故障停机、ACCIDENT事故跳机")
    private String operateType;

    /**
     * 是否确认。默认0未确认
     */
    @ApiModelProperty("是否1确认。0未确认 2待批复")
    private List<Integer> isConfirm;

    /**
     * 是否计划内  0计划外、1计划内
     */
    @ApiModelProperty(value = "是否计划内  0计划外、1计划内")
    private List<Integer> inPlan;

    /**
     * 原因
     */
    @ApiModelProperty(value="原因")
    private String content;


    @ApiModelProperty(value = "创建人账号")
    private String createBy;


    @ApiModelProperty(value = "创建人姓名")
    private String createByName;


    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty("是否试机1是 2不是。默认2")
    private Boolean isTest;

    @ApiModelProperty("确认单位id")
    private String confirmDeptManage;

    @ApiModelProperty("确认单位名称")
    private String confirmDeptManageName;

    @ApiModelProperty(value = "创建开始时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    private Date startCreateTime;

    @ApiModelProperty(value = "创建结束结束时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    private Date endCreateTime;


    private static final long serialVersionUID = 1L;
}
